clear all; close all; clc;
% Внутренние параметры
R = 120; % Ом
C = 33e-12; % Ф
Rd = 0; % Параметры диода
rd = 0;
Uo = 0;
omega0 = 1/sqrt(R*C); % Частота среза
f0 = omega0 / 2 / pi;
fprintf('f0 = %f MHz\n', f0/1e6);
% Ось времени
T = 1 / (10000*f0);
t = 0:T:(1 * 1/f0);
lt = length(t);
% Выделение памяти
Uc = nan(1, lt);
UR = nan(1, lt);
dUc = nan(1, lt);
Ud = nan(1, lt);
i = nan(1, lt);

% Внешние параметры, внешние фазовые переменные
E = 10*ones(1, lt);
% Начальное состояние
Uc(1,1) = 0; % Начальное напряжение конденсатора
i(1,1) = 0; % В начальный момент ток в цепи отсутствует
dUc(1,1) = 0;
UR(1,1) = 0;
Ud(1,1) = 0;
for k = 2:lt
% Напряжение на диоде
%%if ((E(1,k-1) - UR(1,k-1) - Uc(1,k-1)) < Uo)
%%Ud(1,k-1) = Rd*i(1,k-1);
%%Uc(1,k) = Uc(1,k-1);

%%else
UR(1,k) = E(1,k) - Uc(1,k-1); %- Ud(1,k-1);
i(1,k) = UR(1,k)/R;
dUc(1,k) = i(1,k)/C;

%Ud(1,k-1) = rd*i(1,k-1) + Uo;
%dUc(1,k) = (E(1,k)-Uc(1,k-1)-Ud(1,k-1)) / (R*C);
Uc(1,k) = Uc(1,k-1) + dUc(1,k)*T;
%%end
%dUc(1,k) = (E(1,k)-Uc(1,k-1)-Ud(1,k-1)) / (R*C);% который определяет заряд конденсатора
%Uc(1,k) = Uc(1,k-1) + dUc(1,k)*T;
%i(1,k) = Uc(1,k)*C;
%Uc(1,k) = (1/(R*C/T+1))*(E(1,k)+Ud(1,k-1)+R*C/T*Uc(1,k-1));
end

figure(1);
plot(t*1e9, [Uc; E; Uc]);
xlabel('t, ns')
ylabel('U_c, E, Uc, Volt')
legend('U(t)', 'E(t)', 'U(t)')
grid on